﻿
Imports std

Public Class function_call2
    Inherits function_call_base(Of parameters_list2)
    Implements iInvokeableWithOutput

    Protected Sub New(ByVal name As String, ByVal iparameters As parameters_list2)
        MyBase.New(name, iparameters)
    End Sub

    Private Shared Function create(ByVal name As String, ByVal parameters As parameters_list2) As function_call2
        Return New function_call2(name, parameters)
    End Function

    Private Shared Function parseImpl(ByVal input As String, ByRef index As Int64, _
                                      ByRef output As function_call2) As Boolean
        Return function_call_base(Of parameters_list2)._parse(input, index, output,
                                                              AddressOf parameters_list2.parse, AddressOf create)
    End Function

    Public Shared Shadows Function parse(ByVal input As String, ByRef index As Int64, _
                                         ByRef output As function_call2) As Boolean
        Return parsebase(input, index, output, AddressOf parseImpl)
    End Function
End Class
